unity序列帧优化 | 您所在的位置:网站首页 › unity 动画播放卡顿 › unity序列帧优化 |
unity序列帧优化
前言一、导入Addressables System二、标记资源1.拖入动画到自定义的目录下2.资源编译打包
三、引用资源总结补充
前言
开发过程中,有可能遇到分辨率很大,数量也很多的序列帧动画需求,在甲方要求高清晰度 ,不能压缩的情况下,正常做成动画直接打包,1.5G的序列帧动画,打出来的包在3.5G左右,加载卡顿严重。在这种情况下,建议使用Addressable System进行处理。 一、导入Addressables System当前unity版本为2018.2.11,打开Package Manager,在all中选择Addressables System,并Install,安装好之后可以在Window --> Asset Management --> Addressable Assets中打开Addressables窗口。 选择要引用的controller,勾选Addressable,后边的地址就可以复制了,复制地址在代码中使用。 代码如下(示例): public Animator animator; void Start () { Addressables.LoadAsset("Assets/背景的_00000.controller").Completed += OnLoadDone; } private void OnLoadDone(IAsyncOperation data) { animator.runtimeAnimatorController = data.Result; animator.enabled = true; } 总结按照这样的方法,一是资源无需重复编译,打包的时间大幅度缩小,二是加载时是先加载场景,再读取资源,可在界面添加加载资源提示,不会出现卡顿很久无法进入的情况。 补充在后边项目的实际使用当中发现了一些问题,一块总结到下边。 1、实际打包中,只在一个 Group 中打包这些序列帧资源的话,超过一定量级依然出现资源加载异常,序列帧闪烁的情况 解决:将资源分配在多个Group中进行打包。 3、项目序列帧资源为240M,实测正常流程制作Animation打包大小为5.59G,使用Addressables后包体大小为388M(在对比过程中还有一个小发现,使用2019打包巨多序列帧的程序,实际运行时占用的内存空间是很小的,而2018中则需要申请巨大的空间,有了解其中原因的可以科普一下)。 2019出的包: |
CopyRight 2018-2019 实验室设备网 版权所有 |